library(ggplot2)
library(maps)
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ lubridate 1.9.4     ✔ tibble    3.3.0
## ✔ purrr     1.0.4     ✔ tidyr     1.3.1
## ✔ readr     2.1.5
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ✖ purrr::map()    masks maps::map()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
library(readr)
library(sf)
## Linking to GEOS 3.13.1, GDAL 3.11.0, PROJ 9.6.0; sf_use_s2() is TRUE
library(readr)
library(spgwr)
## Cargando paquete requerido: sp
## Cargando paquete requerido: spData
## To access larger datasets in this package, install the spDataLarge
## package with: `install.packages('spDataLarge',
## repos='https://nowosad.github.io/drat/', type='source')`
## NOTE: This package does not constitute approval of GWR
## as a method of spatial analysis; see example(gwr)
library(leaflet)
library(tmap)
library(osmdata)
## Data (c) OpenStreetMap contributors, ODbL 1.0. https://www.openstreetmap.org/copyright
library(readxl)
## Warning: package 'readxl' was built under R version 4.5.2
library(openxlsx)
## Warning: package 'openxlsx' was built under R version 4.5.2
library(RColorBrewer)
library(scales) # Necesario para formatear números grandes
## 
## Adjuntando el paquete: 'scales'
## 
## The following object is masked from 'package:purrr':
## 
##     discard
## 
## The following object is masked from 'package:readr':
## 
##     col_factor
library(htmltools)
proyect <- read.csv(
  "data/0alq_zp_2024_completo.csv",
  sep = "|",
  header = TRUE,
  fill = TRUE,
  quote = "\""
)
ncol(proyect)
## [1] 58
colnames(proyect)
##  [1] "link"               "id"                 "id2"               
##  [4] "alq_usd"            "alq_arg"            "alq_dolar"         
##  [7] "alq_peso"           "antig"              "direccion"         
## [10] "provincia"          "lat"                "lng"               
## [13] "pubhace"            "inmobiliaria"       "codanun"           
## [16] "titulo"             "localidad"          "t"                 
## [19] "fechaejecucion"     "sup_tot"            "sup_cub"           
## [22] "amb"                "bano"               "cochera"           
## [25] "dorm"               "toilette"           "contrafrente"      
## [28] "frente"             "interno"            "lateral"           
## [31] "exp"                "reduccion"          "precio_viejo_peso" 
## [34] "precio_viejo_dolar" "ascen"              "gimnasio"          
## [37] "lavadero"           "sum_"               "pileta"            
## [40] "balc"               "parrilla"           "aire"              
## [43] "amoblado"           "solarium"           "vigilancia"        
## [46] "pisos"              "paquete"            "paq_m2"            
## [49] "geo"                "descripcion"        "pag"               
## [52] "dia_b"              "mes_b"              "ano_b"             
## [55] "fecha2"             "fecha_pub_aviso"    "mes"               
## [58] "ano"
head(proyect, 15)
##                                                                                                                                link
## 1         https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--2-amb-a-estrenar-en-excelente-ubicacion-super-54876573.html
## 2      https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--3-amb.-c-cochera-y-terraza-propia-en-inmejorable-54981397.html
## 3              https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--alquiler-balvanera-jose-e.-uriburu-115-3-54948534.html
## 4          https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--amob-y-equip-ruggieri-y-av-del-libertador-78-53483740.html
## 5                        https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--ap-prof-amplio-luminoso-flores-54899665.html
## 6           https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--belgrano-av-cramer-1900-dpto-2-amb-c-balcon-54857167.html
## 7          https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--en-exc-estado-super-luminoso-con-balcon-full-54854986.html
## 8     https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--en-exc.-estado-super-luminoso-c-balcon-corrido-al-54961414.html
## 9      https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--en-exc.-ubicacion-c-balcon-al-frente-en-muy-buen-54877974.html
## 10     https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--en-inmejorable-ubicacion-super-luminoso-c-balcon-54867567.html
## 11 https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--excelente-3-ambientes-super-luminoso-en-av-las-heras-54669863.html
## 12   https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--excelente-ubicacion-acoyte-y-rivadavia-2-ambientes-53340517.html
## 13     https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--excelente-ubicacion-doblas-223-2-amb-c-balcon-al-55035532.html
## 14  https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--excelente-ubicacion-j.-b.-alberdi-1024-2-amb.-bajas-45181768.html
## 15          https://www.zonaprop.com.ar/propiedades/clasificado/alclapin--excelente-ubicacion-palestina-554-2-amb-muy-54965402.html
##          id      id2 alq_usd alq_arg alq_dolar alq_peso antig
## 1  54876573 54876573      NA  650000  619.0476   650000     0
## 2  54981397 54981397      NA 1000000  952.3810  1000000    10
## 3  54948534 54948534      NA 6000007 5714.2925  6000007    75
## 4  53483740 53483740    1700      NA 1700.0000  1785000    40
## 5  54899665 54899665      NA  550000  523.8095   550000    16
## 6  54857167 54857167      NA  400000  380.9524   400000    30
## 7  54854986 54854986      NA  600000  571.4286   600000     1
## 8  54961414 54961414      NA  800000  761.9048   800000    20
## 9  54877974 54877974      NA  650000  619.0476   650000    40
## 10 54867567 54867567      NA  750000  714.2857   750000    50
## 11 54669863 54669863      NA  750000  714.2857   750000    30
## 12 53340517 53340517      NA  345000  328.5714   345000    45
## 13 55035532 55035532      NA  490000  466.6667   490000    56
## 14 45181768 45181768      NA  325000  309.5238   325000    40
## 15 54965402 54965402      NA  419000  399.0476   419000    45
##                                                                  direccion
## 1                            RIGLOS 500. Entre Valle y Goyena; pedro; avda
## 2                     ACEVEDO 600. Entre Aguirre y Juan ramirez de velasco
## 3                                                JOSE EVARISTO URIBURU 100
## 4                                            Ruggieri Y AV. DEL Libertador
## 5                                           Av. Juan Bautista Alberdi 2526
## 6                                                          Av. Cramer 1926
## 7                               donato alvarez 200. Entre Bogota y Bacacay
## 8                               AV CORRIENTES 4400. Entre Yatay y Pringles
## 9  ACUÑA DE FIGUEROA; FCO. 400. Entre Sarmiento y Tte. gral. juan d. peron
## 10                           AV. LA PLATA 100. Entre Av. rivadavia y Chaco
## 11                                                          LAS HERAS 2100
## 12                                                               Acoyte 25
## 13                                               DOBLAS ; Parque Rivadavia
## 14                                                        J B ALBERDI 1024
## 15                                                           palestina 554
##          provincia       lat       lng pubhace
## 1  Capital Federal -34.62476 -58.43612       0
## 2  Capital Federal -34.59698 -58.43643       6
## 3  Capital Federal -34.60811 -58.39767      12
## 4  Capital Federal -34.58042 -58.40717     225
## 5  Capital Federal -34.63184 -58.46341      18
## 6  Capital Federal -34.56641 -58.46012      23
## 7  Capital Federal -34.61592 -58.44060      23
## 8  Capital Federal -34.60291 -58.42764       0
## 9  Capital Federal -34.60580 -58.42297      21
## 10 Capital Federal -34.61594 -58.42926      22
## 11 Capital Federal -34.58899 -58.39523      50
## 12 Capital Federal -34.61815 -58.43639       0
## 13 Capital Federal -34.61903 -58.43160       0
## 14 Capital Federal -34.62296 -58.44239      40
## 15 Capital Federal -34.60488 -58.42612      11
##                                        inmobiliaria       codanun
## 1             EBERTOLOTTI operaciones inmobiliarias BER-BER-15367
## 2             EBERTOLOTTI operaciones inmobiliarias BER-BER-15383
## 3                              Villegas Real Estate        VRE393
## 4                 Brick Propiedades &amp; Servicios       1033667
## 5                                   CLT PROPIEDADES        27N9IP
## 6          ESTUDIO MILLER Soluciones Inmobiliarias         27LMC7
## 7             EBERTOLOTTI operaciones inmobiliarias BER-BER-15331
## 8             EBERTOLOTTI operaciones inmobiliarias BER-BER-15382
## 9             EBERTOLOTTI operaciones inmobiliarias BER-BER-15364
## 10            EBERTOLOTTI operaciones inmobiliarias BER-BER-15357
## 11                                Nieto Propiedades        27EO8N
## 12 PATRICIO BEDETTI Serv. Jurídicos e Inmobiliarios        25PH77
## 13 PATRICIO BEDETTI Serv. Jurídicos e Inmobiliarios        27SAHM
## 14 PATRICIO BEDETTI Serv. Jurídicos e Inmobiliarios      45181768
## 15 PATRICIO BEDETTI Serv. Jurídicos e Inmobiliarios        27PMK2
##                                                                                   titulo
## 1                              ¡2 Amb a Estrenar en Excelente Ubicación; Super Luminoso!
## 2                           ¡3 Amb. C/ Cochera y Terraza Propia en Inmejorable Ubicacion
## 3     # Alquiler - Balvanera - Jose E. Uriburu 115 - 3 Amplios Ambientes Todo Luz - 65 m
## 4  (Amob y Equip) Ruggieri y Av del Libertador - 78 m² Impec Bcon V/panor T/sol Vestidor
## 5                                                     (Ap/prof) Amplio Luminoso (Flores)
## 6                           (Belgrano) Av Cramer 1900 - Dpto 2 Amb - C/balcón - Luminoso
## 7                            ¡En Exc Estado; Super Luminoso; con Balcón; Full Amenities!
## 8                               ¡En Exc. Estado; Super Luminoso C/balcon Corrido Al Fte!
## 9                           ¡En Exc. Ubicación; C/ Balcon Al Frente; en Muy Buen Estado!
## 10                          ¡En Inmejorable Ubicación; Super Luminoso C/ Balcon Corrido!
## 11                           ¡Excelente 3 Ambientes Súper Luminoso en Av Las Heras 2100!
## 12            'Excelente Ubicacion' Acoyte y Rivadavia; 2 Ambientes - Apto Profesional -
## 13                            'Excelente Ubicacion' Doblas 223; 2 Amb C/balcon Al Frente
## 14             'Excelente Ubicacion' J. B. Alberdi 1024; 2 Amb. Bajas Expensas (Interno)
## 15        'Excelente Ubicacion' Palestina 554 2 Amb Muy Luminoso; a m. Hospital Italiano
##       localidad     t fechaejecucion sup_tot sup_cub amb bano cochera dorm
## 1     Caballito  9958      17dec2024      53      45   2    1      NA    1
## 2  Villa Crespo  5307      17dec2024     120      60   3    2       1    2
## 3     Balvanera   987      17dec2024      65      65   3    1      NA    2
## 4       Palermo 11550      17dec2024      78      78   3    1      NA    2
## 5        Flores  4435      17dec2024      53      47   2    1      NA    1
## 6      Belgrano  3963      17dec2024      43      40   2    1      NA    1
## 7     Caballito   827      17dec2024      46      42   2    1      NA    1
## 8       Almagro  1113      17dec2024      74      66   3    2      NA    2
## 9       Almagro  9699      17dec2024      58      55   3    1      NA    2
## 10    Caballito  1049      17dec2024      80      71   3    2      NA    2
## 11     Recoleta  5354      17dec2024      55      50   3    1      NA    2
## 12    Caballito  9822      17dec2024      34      34   2    1      NA   NA
## 13    Caballito   921      17dec2024      48      45   2    1      NA    1
## 14    Caballito  6693      17dec2024      28      28   2    1      NA    1
## 15      Almagro 11637      17dec2024      40      40   2    1      NA    1
##    toilette contrafrente frente interno lateral    exp reduccion
## 1        NA           NA      1      NA      NA 100000        NA
## 2        NA            1     NA      NA      NA 350000        NA
## 3        NA           NA      1      NA      NA 109152         7
## 4        NA           NA     NA      NA      NA 151400        NA
## 5        NA           NA      1      NA      NA  95000        NA
## 6        NA           NA     NA      NA      NA 140000        NA
## 7        NA           NA      1      NA      NA 139000        NA
## 8        NA           NA     NA      NA      NA 262000        NA
## 9        NA           NA      1      NA      NA 175000        NA
## 10        1            1     NA      NA      NA  88000        NA
## 11       NA           NA     NA      NA      NA 130000        NA
## 12       NA           NA      1      NA      NA  94000        NA
## 13       NA           NA      1      NA      NA 115000        NA
## 14       NA           NA     NA       1      NA  50000        NA
## 15       NA           NA     NA      NA       1  65000        NA
##    precio_viejo_peso precio_viejo_dolar ascen gimnasio lavadero sum_ pileta
## 1                 NA                 NA     0        0        1    0      0
## 2                 NA                 NA     0        0        0    0      0
## 3            6451621                 NA     0        0        1    0      0
## 4                 NA                 NA     0        1        1    1      1
## 5                 NA                 NA     0        0        1    1      0
## 6                 NA                 NA     0        0        0    0      0
## 7                 NA                 NA     0        1        0    1      1
## 8                 NA                 NA     0        0        1    0      0
## 9                 NA                 NA     0        0        1    0      0
## 10                NA                 NA     0        0        1    0      0
## 11                NA                 NA     0        0        0    0      0
## 12                NA                 NA     0        0        0    0      0
## 13                NA                 NA     0        0        0    0      0
## 14                NA                 NA     0        0        0    0      0
## 15                NA                 NA     0        0        1    0      0
##    balc parrilla aire amoblado solarium vigilancia pisos paquete   paq_m2 geo
## 1     1        1    1        0        0          0     9  750000 14150.94   1
## 2     1        1    1        0        0          0     4 1350000 11250.00   1
## 3     1        0    1        0        0          0     8 6109159 93987.06   1
## 4     1        0    0        1        1          1    NA 1936400 24825.64   1
## 5     1        1    1        0        1          0    12  645000 12169.81   1
## 6     0        0    0        0        0          1    NA  540000 12558.14   1
## 7     1        1    1        0        1          0     8  739000 16065.22   1
## 8     1        0    0        0        0          0    13 1062000 14351.35   1
## 9     1        0    0        0        0          0     9  825000 14224.14   1
## 10    1        0    0        0        0          0    11  838000 10475.00   1
## 11    1        0    1        0        0          1    NA  880000 16000.00   1
## 12    0        0    1        0        0          0     7  439000 12911.76   1
## 13    0        0    0        0        0          0     7  605000 12604.17   1
## 14    0        0    0        0        0          0     8  375000 13392.86   1
## 15    0        0    0        0        0          0     7  484000 12100.00   1
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    descripcion
## 1                                                                                                                                                   ¡¡2 ambientes a estrenar en alquiler; en caballito!!semipiso de 2 ambientes; ingresamos al amplio y cÓmodo living comedor super luminoso con salida al balcÓn con aberturas de vidrio de dvh y aire acondicionado!! gran dormitorio principal con aire acondicionado y placard empotrado de piso a techo con interiores  de placard y persiana elÉctrica!! cocina completa con muebles bajo mesada; alacena y artefacto de cocina a gas; lavadero incorporado con conexiÓn para lavarropas!! baÑo completo con ventilaciÓn natural!! todo en excelentes condiciones; agua caliente por termotanque elÉctrico; pisos de porcelanato simil madera en living y pisos de parquet en el dormitorio el edificio cuenta con terraza de uso comÚn; solÁrium y parrilla; apto profesional!en excelente ubicaciÓn; a una cuadra de av. juan b. alberdi; a una cuadra de av. pedro goyena y a tres cuadras de av. directorio (linea 'e' de subte) 'se deja expresamente aclarado que el valor consignado de expensas queda sujeto a variación y/o ajustes; y que las medidas son orientativas; las reales surgirán del título de propiedad respectivo' fotos de carÁcter no contractual.'para los casos de alquiler de vivienda; el monto máximo de comisión que se le puede requerir a los propietarios será el equivalente al cuatro con quince centésimos por ciento (4;15%) del valor total del respectivo contrato. se encuentra prohibido cobrar a los inquilinos que sean personas físicas comisiones inmobiliarias y gastos de gestoría de informes'xintel(ber-ber-ver datos)
## 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              departamento de 3 ambientes en alquiler; en villa crespo!!ingreso por hall de entrada; living comedor con aire acondicionado frió calor y salida al amplio balcón el cual nos dirige a la terraza propia del departamento!!hall de distribución el cual nos dirige a las dos luminosas habitaciones; ambas con placard en pared y aire acondicionado frió calor!!  cocina completa con doble mesada; muebles bajo mesada; alacena; artefacto de cocina a gas y spar instaldo!baño completo con ventilación natural y toilette! el edificio cuenta con terraza de uso común con parrilla y con cochera fija y cubierta! en excelente ubicación; a tres cuadras de av. scalabrini ortiz y a tres cuadras de av. corrientes (linea 'b' de subte)! 'se deja expresamente aclarado que el valor consignado de expensas queda sujeto a variación y/o ajustes y que las medidas de los ambientes son orientativas; las reales surgirán del título de propiedad respectivo.' fotos de carÁcter no contractual.xintel(ber-ber-ver datos)
## 3  #### alquiler - balvanera - jose e. uriburu 115 - 3 amplios ambientes todo luz - 65 mts ###departamento en edificio de estilo art deco; con amplio living comedor con salida a balcón al frente y dos dormitorios; el dormitorio principal con balcón al frente y amplio placard y el segundo dormitorio o escritorio da al aire luz; que al ser piso alto posee buena luz natural. baño completo de época en buen estado con ventilación al exterior y amplia cocina y lavadero. el departamento posee entrada principal y de servicio.los pisos se han pulido y plastificado y esta recién pintado.medidas aproximadas: hall y living comedor amplio de 7 x 3. cocina con office con lugar para lavarropa de 4 x 2.60 dormitorio principal de 3.50 x 3.50 2 dormitorio o escritorio de 3 x 2.70 baño completo con ventilación externa y mucha luz. de 1;80 x 2.30 edificio de estilo art deco con dos ascensores principales en buen estado de mantenimiento. alquiler condiciones de ingreso : 1 mes de alquiler ; 1 mes de depósito; ingresos comprobables y garantía de capital federal.locaciones de viviendade acuerdo a la dispuesto el art 5 de la ley5859: se encuentra prohibido cobrar comisiones inmobiliarias y gastos de gestoría de informes a los inquilinos que sean personas físicas. para los casos de alquiler de vivienda; el monto máximo de comisión que se le puede requerir a los propietarios será el equivalente al cuatro con quince centésimos por ciento (4;15%) del valor total del respectivo contrato.para más información; enviar inbox con dirección de mail o llamar al 11 ver datos.villegas real estate -matricula 4963 cpi.oferta provista por topinmobiliario.com - codigo: vre393
## 4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         (amoblado y equipado) 3 ambientes. 78 m2. impecable. balcon con red. vista panoramica. todo sol. todo externo. baÑo completo. cocina integrada con desayunador. placard + vestidor. servicios individuales. lavadero incorporado. pisos de madera. espectacular complejo torre las plazas con 2 piscinas con solarium y deck; 2 sum; sauna; 2 gimnasios completamente equipados; 2 laundries; vigilancia las 24 horas; 26 pisos; 4 por piso; 3 ascensores.expensas: $ 151.400.-abl: $ 16.414.-entre av. del libertador y av. cerviÑo(a 3 cuadras del parque las heras - a 4 de av. figueroa alcorta)palermopara los casos de alquiler de vivienda; el monto máximo de comisión que se le puede requerir a los propietarios será el equivalente al cuatro con quince centésimos por ciento (4;15%) del valor total del respectivo contrato. se encuentra prohibido cobrar a los inquilinos que sean personas físicas comisiones inmobiliarias y gastos de gestoría de informes.*fichabrick=ver datos*
## 5                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           (ap/prof) (ap/mascota) amplio; luminoso. ambiente con cocina integrada; conecta al balcón corrido. espacio cocina; con mesada granito; bacha acero; grifo mezclador; mueble bajo. cocina de 4 hornallas y horno robusto; de aceroinox.; marca domec; eléctrico. termotanque eléctrico de 56 lts. muro l cubre heladera. balcón corrido; amplio; baranda de metal; conexión para aire acondicionado tipo split. baño completo con bañera. dormitorio amplio; ventana con persiana; amplio placard puertas corredizas; piso a techo; conexión para aire acondic. tipo split. la unidad cuenta con baulera individual. no tiene conexión para lavarropas; el edificio tiene laundry. cochera opcional aparte en $ 55.000 mensual. 2 ascensores automáticos. Área uso común: terraza solarium; sum; parrilla. requisitos: demostración de ingresos. garantía de caución finaer; o garantía propietaria caba. contrato: (2) años. aumento: trimestral; por el promedio de los indices oficiales icl/ipc
## 6                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           corredor responsable: anzalone; daniel i. / matrícula 2077 - c.u.c.i.c.b.a. contacto: srta. laura / contacto: sr. guillermo departamento 2 ambientes en muy buen estado. al frente; con blacón; luminoso baño completo cocina integrada dormitorio con placard con baulera instalación para lavarropas muy buena zona; 5 cuadras de av. cabildo art.4 - ley 5859: 'para los casos de alquiler de vivienda; el monto máximo de comisión que se le puede requerir a los propietarios será el equivalente al cuatro quince centésimos por ciento (4;15%) del valor total del respectivo contrato. se encuentra prohibido cobrar a los inquilinos que sea personas físicas comisiones inmobiliarias y gastos de gestoría de informes'.
## 7                                                                                                                                                                                                                                                                                                                                                                         espectacular 2 ambientes en torre en caballito!!complejo de dos torres; 8 pisos de gran categoría; full amenities: piscina; deck solárium; parrillas; gimnasio; juegos para niños; sum; seguridad privada 24hs.esta hermosa unidad se encuentra en la torre morelo; en el 4to piso al frente; consta de 46m2 totales; ingresando por hall de entrada; a un hermoso living comedor y con salida al balcón de 3 x 1;5; aire acondicionado tipo split frío/calor; hermosa cocina con muebles bajo mesada y alacena y conexión para lavarropas; y barra desayunadora; hall de distribución; dormitorio super luminoso con placard (interior y frente de mdf) aire acondicionado tipo split; un baño completo con mampara.'se deja expresa constancia que el valor consignado de expensas queda sujeto a variación y/o ajustes y que las medidas son orientativas; las reales surgirán del título de propiedad respectivo' fotos de carÁcter no contractual'para los casos de alquiler de vivienda; el monto máximo de comisión que se le puede requerir a los propietarios será el equivalente al cuatro con quince centésimos por ciento (4;15%) del valor total del respectivo contrato. se encuentra prohibido cobrar a los inquilinos que sean personas físicas comisiones inmobiliarias y gastos de gestoría de informes'.xintel(ber-ber-ver datos)
## 8                                                                                                                                                                                                                                                         ¡¡¡departamento de 3 ambientes en alquiler; en almagro!!!hermoso departamento al frente con balcon corrido y super luminoso con gran vista abierta. living comedor con salida al balcÓn corrido; cÓmodo dormitorio con placard con salida al balcÓn; segundo dormitorio con placard; cocina completa con muebles bajo mesada; alacena y artefacto de cocina a gas; lavadero incorporado; dos baÑos completos.pisos de parquet en todos los ambientes; calefacciÓn por estufa a gas; agua caliente por calefÓn; entrada principal por living comedor y segunda entrada por cocina; seguridad las 24 hs y baulera en subsuelo.¡no apto mascota! ¡apto profesional!¡en inmejorable ubicaciÓn sobre av. corrientes (linea 'b' de subte); a tres cuadras de av. estado de israel y prÓximo al hospital italiano y al parque centenario!'se deja constancia que los m2 indicados son aproximados; al igual que las medidas parciales de los ambientes; y el valor consignado de expensas mensuales está sujeto a verificación y/o ajustes'. fotos de carácter no contractual.'para los casos de alquiler de vivienda; el monto máximo de comisión que se le puede requerir a los propietarios será el equivalente al cuatro con quince centésimos por ciento (4;15%) del valor total del respectivo contrato. se encuentra prohibido cobrar a los inquilinos que sean personas físicas comisiones inmobiliarias y gastos de gestoría de informes'xintel(ber-ber-ver datos)
## 9                                                                                                                                                                                                                                                                           ¡¡3 ambientes en alquiler; en almagro!! ¡¡ingresamos por el hall de entrada el cual nos dirige al amplio y cÓmodo living comedor con salida al balcÓn al frente super luminoso  y placard empotrado!! ¡¡gran dormitorio principal con placard empotrado de piso a techo; segundo dormitorio muy luminoso con placard empotrado de piso a techo y de pared a pared!!¡¡cocina completa con muebles bajo mesada; alacena y artefacto de cocina a gas; lavadero incorporado con conexiÓn para lavarropas!! ¡¡baÑo completo con extractor!! ¡¡todo en muy buenas condiciones; pisos de parquet en todos los ambientes y agua caliente por calefon!! no se admiten mascotas!!en excelente ubicaciÓn a dos cuadras de av. diaz velez; a una cuadra de av. medrano y a dos cuadras de av. corrientes (linea 'b' de subte) 'se deja constancia que los m2 indicados son aproximados; al igual que las medidas parciales de los ambientes; y el valor consignado de expensas mensuales está sujeto a verificación y/o ajustes'fotos de carácter no contractual.'para los casos de alquiler de vivienda; el monto máximo de comisión que se le puede requerir a los propietarios será el equivalente al cuatro con quince centésimos por ciento (4;15%) del valor total del respectivo contrato. se encuentra prohibido cobrar a los inquilinos que sean personas físicas comisiones inmobiliarias y gastos de gestoría de informes'xintel(ber-ber-ver datos)
## 10                                                                                                                                                                                                                                                                                                            ¡¡¡departamento de 3 ambientes en alquiler; en caballito!!!¡¡¡ingreso por hall de entrada el cual nos dirige al amplio y cÓmodo living comedor con salida al gran balcÓn corrido!!!¡¡¡hall de distribuciÓn que nos lleva al cÓmodo dormitorio principal con salida al balcÓn y placard empotrado; amplio segundo dormitorio con placard empotrado de piso a techo!!!¡¡¡gran cocina con muebles bajo mesada y alacena; con artefacto de cocina a gas y lavadero independiente!!!¡¡¡baÑo completo con ventilaciÓn natural y toilette de servicio!!!  ¡¡¡todo en muy buen estado; pisos de parquet en todos los ambientes y agua caliente por calefÓn!!! en excelente ubicaciÓn sobre av. la plata; a mts de av. hipolito yrigoyen y a mts de av. rivadavia (subte linea 'a') 'se deja constancia que los m2 indicados son aproximados; al igual que las medidas parciales de los ambientes; y el valor consignado de expensas mensuales está sujeto a verificación y/o ajustes'. 'fotos de carácter no contractual'.'para los casos de alquiler de vivienda; el monto máximo de comisión que se le puede requerir a los propietarios será el equivalente al cuatro con quince centésimos por ciento (4;15%) del valor total del respectivo contrato. se encuentra prohibido cobrar a los inquilinos que sean personas físicas comisiones inmobiliarias y gastos de gestoría de informes'.xintel(ber-ber-ver datos)
## 11                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 inmejorable ubicación en recoleta; a media cuadra de la facultad de ingeniería y una cuadra del cementerio de recoleta. características: piso alto; contrafrente; muy luminoso living comedor: 6 x 3 mts; con aire acondicionado frío-calor cocina separada: mesada de silestone; espacio para lavarropas baño completo dormitorio principal: 3 x 2.90 mts; con placard segundo dormitorio: 3.20 x 2.25 mts; con placard empotrado balcón: 3 x 1 mts piso de parquet en todo el departamento estado impecable requisitos de alquiler: un mes de depósito + un mes por adelantado seguro de caución o garantía de caba no apto para mascotas
## 12                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       'excelente ubicacion' acoyte y rivadavia; principal esquina porteÑa; a mts de subte linea 'a' estaciÓn acoyte; mas de 20 lineas de colectivos circulan por la zona 34 m2; dividido en dos despachos y una recepcion; muy luminoso; apto profesional; ideal consultorio; showroom; etc el depto. cuenta con puerta blindada; aire acondicionado; losa radiante; termotanque elÉctrico; tiene entrada por la galerÍa y por av. acoyte aviso legal: las descripciones arquitectónicas y funcionales; valores de expensas; impuestos y servicios; fotos y medidas de este inmueble son aproximados. los datos fueron proporcionados por el propietario y pueden no estar actualizados a la hora de la visualización de este aviso por lo cual pueden arrojar inexactitudes y discordancias con las que surgen de los las facturas; títulos y planos legales del inmueble.
## 13                                                                                          'excelente ubicaciÓn' doblas 223; la mejor zona de caballito; a media cuadra del parque rivadavia ; dos cuadras de av. rivadavia; tres de subte linea 'a' (estaciÓn rio de janeiro); mas de 15 lineas de colectivos circulan por la zona. muy cómodo departamento de 2 ambientes ubicado en el primer piso al frente; luminoso; compuesto de hall de recepción; living comedor; cocina independiente c/mobiliario completo; cocina a gas (recien instalada); dormitorio; baño en suite. el piso es flotante (recien colocado); amplios ambientes. agua caliente por calefón (recien instalado). baño completo; gran disponibilidad de placares; ------------------------------------------- este anuncio contiene vÍdeo en hd ----------------------------------------------------- dr. patricio bedetti ( abogado t 78 f 741 cpacf corredor inmobiliario mat 2576 cucicba) socio fundador del centro de corredores inmobiliarios socio fundador e integrante del grupo inmobiliario directorio integrante de las comisiones de legislaciÓn ; medios y comunicaciÓn cucicba quintino bocayuva 415 caba ver datos / ver datos whatsapp ver datos facebook inmobiliaria patricio bedetti ver datos aviso legal: las descripciones arquitectónicas y funcionales; valores de expensas; impuestos y servicios; fotos y medidas de este inmueble son aproximados. los datos fueron proporcionados por el propietario y pueden no estar actualizados a la hora de la visualización de este aviso por lo cual pueden arrojar inexactitudes y discordancias con las que surgen de los las facturas; títulos y planos legales del inmueble.
## 14                                                 ''''' bajas expensas'''''''''''' 'excelente ubicaciÓn' j. b. alberdi 1024; la mejor zona de caballito; a una cuadra de av. rivadavia; dos de subte linea 'a' (estaciÓn primera junta); mas de 15 lineas de colectivos circulan por la zona. el depto. se encuentra en perfecto estado; tiene caÑerÍas e instalaciÓn elÉctrica nueva. baÑo y cocina nuevos con materiales de primera calidad la cocina se encuentra integrada al living; cuenta con mobiliario completo; cocina industrial y campana con salida al exterior; el piso es de porcelanato; la habitaciÓn tiene placard con divisiones; el baÑo es muy cÓmodo medidas aprox. (1.50 x 3); la disposiciÓn del depto. es interno ------------------------------------------- este anuncio contiene vÍdeo en hd ----------------------------------------------------- dr. patricio bedetti ( abogado t 78 f 741 cpacf corredor inmobiliario mat 2576 cucicba) socio fundador del centro de corredores inmobiliarios socio fundador e integrante del grupo inmobiliario directorio integrante de las comisiones de legislaciÓn ; medios y comunicaciÓn cucicba quintino bocayuva 415 caba ver datos / ver datos whatsapp ver datos facebook inmobiliaria patricio bedetti ver datos aviso legal: las descripciones arquitectónicas y funcionales; valores de expensas; impuestos y servicios; fotos y medidas de este inmueble son aproximados. los datos fueron proporcionados por el propietario y pueden no estar actualizados a la hora de la visualización de este aviso por lo cual pueden arrojar inexactitudes y discordancias con las que surgen de los las facturas; títulos y planos legales del inmueble.
## 15                                                                                                                                                                           'excelente ubicaciÓn' palestina 554 ; la mejor zona de almagro; a media cuadra del hospital italiano; dos cuadras de av. corrientes; tres de subte linea 'b' (estaciÓn medrano); mas de 15 lineas de colectivos circulan por la zona. departamento de 2 ambientes ubicado en el septimo piso al lateral; luminoso;compuesto por un living comedor; cocina; lavadero independiente; dormitorio con placard; baño completo. el piso es de parque; amplios ambientes. agua caliente por calefón. cocina a gas (recien instalada); gran disponibilidad de placares ------------------------------------------- este anuncio contiene vÍdeo en hd ----------------------------------------------------- dr. patricio bedetti ( abogado t 78 f 741 cpacf corredor inmobiliario mat 2576 cucicba) socio fundador del centro de corredores inmobiliarios socio fundador e integrante del grupo inmobiliario directorio integrante de las comisiones de legislaciÓn ; medios y comunicaciÓn cucicba quintino bocayuva 415 caba ver datos / ver datos whatsapp ver datos facebook inmobiliaria patricio bedetti ver datos aviso legal: las descripciones arquitectónicas y funcionales; valores de expensas; impuestos y servicios; fotos y medidas de este inmueble son aproximados. los datos fueron proporcionados por el propietario y pueden no estar actualizados a la hora de la visualización de este aviso por lo cual pueden arrojar inexactitudes y discordancias con las que surgen de los las facturas; títulos y planos legales del inmueble.
##    pag dia_b mes_b ano_b     fecha2 fecha_pub_aviso     mes  ano
## 1   NA    17    12  2024 17/12/2024       17dec2024 2024m12 2024
## 2   NA    11    12  2024 11/12/2024       11dec2024 2024m12 2024
## 3   NA     5    12  2024 05/12/2024       05dec2024 2024m12 2024
## 4   NA     6     5  2024  06/5/2024       06may2024  2024m5 2024
## 5   NA    29    11  2024 29/11/2024       29nov2024 2024m11 2024
## 6   NA    24    11  2024 24/11/2024       24nov2024 2024m11 2024
## 7   NA    24    11  2024 24/11/2024       24nov2024 2024m11 2024
## 8   NA    17    12  2024 17/12/2024       17dec2024 2024m12 2024
## 9   NA    26    11  2024 26/11/2024       26nov2024 2024m11 2024
## 10  NA    25    11  2024 25/11/2024       25nov2024 2024m11 2024
## 11  NA    28    10  2024 28/10/2024       28oct2024 2024m10 2024
## 12  NA    17    12  2024 17/12/2024       17dec2024 2024m12 2024
## 13  NA    17    12  2024 17/12/2024       17dec2024 2024m12 2024
## 14  NA     7    11  2024 07/11/2024       07nov2024 2024m11 2024
## 15  NA     6    12  2024 06/12/2024       06dec2024 2024m12 2024
ubicacion <- "Cordoba, Argentina"
bbox <- getbb(ubicacion)

# Descargar todas las entidades educativas (escuelas, universidades, colegios)
educativas <- opq(bbox = bbox) %>%
  add_osm_feature(key = "amenity", value = c("school", "university", "college")) %>%
  osmdata_sf()
# Área de búsqueda


# Combinar puntos, polígonos y multipolígonos
educativas_sf <- bind_rows(
  educativas$osm_points %>% select(any_of(c("osm_id","name","amenity","addr:street","addr:housenumber","addr:city","geometry"))),
  educativas$osm_polygons %>% select(any_of(c("osm_id","name","amenity","addr:street","addr:housenumber","addr:city","geometry"))),
  educativas$osm_multipolygons %>% select(any_of(c("osm_id","name","amenity","addr:street","addr:housenumber","addr:city","geometry")))
)

# Eliminar duplicados
educativas_sf <- educativas_sf %>% distinct(osm_id, .keep_all = TRUE)

# Filtrar universidades
universidades_sf <- educativas_sf %>% filter(amenity == "university")

# Mostrar las universidades encontradas (debería incluir la UNC)
universidades_sf %>% filter(grepl("Cordoba", name, ignore.case = TRUE))
## Simple feature collection with 1 feature and 6 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: -64.19335 ymin: -31.44233 xmax: -64.19335 ymax: -31.44233
## Geodetic CRS:  WGS 84
##                osm_id
## 5425165110 5425165110
##                                                                    name
## 5425165110 Universidad Tecnologica Nacional - Facultad Regional Cordoba
##               amenity addr:street addr:housenumber addr:city
## 5425165110 university        <NA>             <NA>      <NA>
##                               geometry
## 5425165110 POINT (-64.19335 -31.44233)
universidades_centroides <- universidades_sf %>%
  st_centroid(of_largest_polygon = TRUE)  # maneja multipolígonos correctamente
## Warning: st_centroid assumes attributes are constant over geometries
leaflet(universidades_centroides) %>%
  addProviderTiles(providers$CartoDB.Positron) %>%
  addCircleMarkers(
    lng = ~st_coordinates(geometry)[,1],
    lat = ~st_coordinates(geometry)[,2],
    label = ~name,
    color = "blue",
    radius = 5
  ) %>%
  setView(lng = -64.1888, lat = -31.4201, zoom = 12)  # centro de Córdoba

guardar

# Suponiendo que ya tienes educativas_sf con polígonos o puntos
educativas_sf <- educativas$osm_polygons  # o $osm_points según lo que tengas

# Convertir a centroides si son polígonos
educativas_centros <- st_centroid(educativas_sf)
## Warning: st_centroid assumes attributes are constant over geometries
# Extraer coordenadas a columnas
educativas_csv <- cbind(
  st_drop_geometry(educativas_centros),
  st_coordinates(educativas_centros)
)

# Guardar como CSV
write.csv(educativas_csv, "universidades.csv", row.names = FALSE, fileEncoding = "UTF-8")

descarga Hospitales

# Definir el área de búsqueda
ubicacion <- "Provincia de Cordoba, Argentina"
bbox <- getbb(ubicacion)

# Ejemplo: infraestructura de salud
salud <- opq(bbox = bbox) %>%
  add_osm_feature(key = "amenity", 
                  value = c("hospital", "clinic", "doctors", "pharmacy")) %>%
  osmdata_sf()

# Combinar puntos y polígonos
salud_sf <- bind_rows(
  salud$osm_points %>% select(any_of(c("osm_id","name","amenity","addr:city","geometry"))),
  salud$osm_polygons %>% select(any_of(c("osm_id","name","amenity","addr:city","geometry")))
)

# Quitar duplicados
salud_sf <- salud_sf %>% distinct(osm_id, .keep_all = TRUE)

# Convertir a centroides si es necesario
salud_sf <- salud_sf %>% mutate(geometry = st_centroid(geometry))

# Exportar a CSV
salud_csv <- cbind(st_drop_geometry(salud_sf), st_coordinates(salud_sf))
write_csv(salud_csv, "salud.csv")

descarga bares

# ==========================================
# Comercios y Bares - Córdoba Capital
# ==========================================


# Definir área de búsqueda
ubicacion <- "Cordoba, Argentina"
bbox <- getbb(ubicacion)

# Descargar datos de OSM
comercios <- opq(bbox = bbox) %>%
  add_osm_feature(key = "shop", 
                  value = c("supermarket", "mall", "department_store")) %>%
  osmdata_sf()

bares <- opq(bbox = bbox) %>%
  add_osm_feature(key = "amenity", 
                  value = c("bar", "pub", "cafe", "restaurant")) %>%
  osmdata_sf()

# Combinar puntos y polígonos de comercios
comercios_sf <- bind_rows(
  comercios$osm_points %>% select(any_of(c("osm_id","name","shop","geometry"))),
  comercios$osm_polygons %>% select(any_of(c("osm_id","name","shop","geometry")))
)

# Combinar puntos y polígonos de bares
bares_sf <- bind_rows(
  bares$osm_points %>% select(any_of(c("osm_id","name","amenity","geometry"))),
  bares$osm_polygons %>% select(any_of(c("osm_id","name","amenity","geometry")))
)

# Unir todo en una sola capa
comercio_bares_sf <- bind_rows(
  comercios_sf %>% rename(tipo = shop),
  bares_sf %>% rename(tipo = amenity)
)

# Quitar duplicados
comercio_bares_sf <- comercio_bares_sf %>%
  distinct(osm_id, .keep_all = TRUE)

# Convertir polígonos a centroides (si es necesario)
comercio_bares_sf <- comercio_bares_sf %>%
  mutate(geometry = st_centroid(geometry))

# Exportar a CSV
comercio_bares_csv <- cbind(
  st_drop_geometry(comercio_bares_sf),
  st_coordinates(comercio_bares_sf)
)

write.csv(comercio_bares_csv, "comercio_bares.csv", row.names = FALSE)


# Mapa rápido
library(leaflet)
leaflet(comercio_bares_sf) %>%
  addProviderTiles(providers$CartoDB.Positron) %>%
  addCircleMarkers(
    color = ~ifelse(tipo %in% c("mall", "department_store"), "red",
             ifelse(tipo == "supermarket", "blue", "orange")),
    radius = 5,
    label = ~name,
    popup = ~paste("<b>", name, "</b><br>", tipo)
  )

Filtrar solo los malls o shoppings

# Filtrar solo los malls o shoppings
shoppings <- comercio_bares_sf %>%
  filter(tipo %in% c("mall", "department_store")) %>%
  select(name, tipo)

# Ver los nombres
print(shoppings)
## Simple feature collection with 37 features and 2 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: -64.29024 ymin: -31.46513 xmax: -64.08711 ymax: -31.33418
## Geodetic CRS:  WGS 84
## First 10 features:
##                                          name             tipo
## 643269288                     Dinosaurio Mall             mall
## 4224558824                               <NA>             mall
## 4401577299                       Iani Karstow department_store
## 4403514209                               <NA>             mall
## 4676930492                 Alpha Building HPe department_store
## 7067316855                          Encode SA             mall
## 7697881986                 Almacén "Don Tito" department_store
## 7701099387 Art. de Limpieza - Comida Mascotas department_store
## 7701111185                    Super Chino Lin department_store
## 7701111485          Almacén alimentos-bebidas department_store
##                               geometry
## 643269288  POINT (-64.21934 -31.36709)
## 4224558824 POINT (-64.17337 -31.42437)
## 4401577299 POINT (-64.27928 -31.34701)
## 4403514209 POINT (-64.09858 -31.46513)
## 4676930492 POINT (-64.20363 -31.33657)
## 7067316855 POINT (-64.19731 -31.42847)
## 7697881986 POINT (-64.20075 -31.36299)
## 7701099387 POINT (-64.19784 -31.35999)
## 7701111185 POINT (-64.19785 -31.37087)
## 7701111485 POINT (-64.19888 -31.36484)
# Buscar coincidencias con nombres conocidos
shoppings_conocidos <- comercio_bares_sf %>%
  filter(grepl("Patio Olmos|NuevoCentro|Dinosaurio|Córdoba Shopping|Jockey|Libertad", 
               name, ignore.case = TRUE)) %>%
  select(name, tipo)

print(shoppings_conocidos)
## Simple feature collection with 20 features and 2 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: -64.29036 ymin: -31.43437 xmax: -64.14273 ymax: -31.33399
## Geodetic CRS:  WGS 84
## First 10 features:
##                                             name        tipo
## 643269288                        Dinosaurio Mall        mall
## 664087358                  Hipermercado Libertad supermarket
## 1111556487  Hipermercado Libertad  Poeta Lugones supermarket
## 1742179778                            Dinosaurio supermarket
## 2702472702                         Mini Libertad supermarket
## 3268324144                         Mini Libertad supermarket
## 3984348301                         Mini Libertad supermarket
## 4247631545                   pago facil libertad supermarket
## 10017098065                Hipermercado Libertad supermarket
## 68276784                    Nuevocentro Shopping        mall
##                                geometry
## 643269288   POINT (-64.21934 -31.36709)
## 664087358   POINT (-64.14273 -31.43437)
## 1111556487  POINT (-64.21618 -31.36378)
## 1742179778   POINT (-64.2186 -31.36754)
## 2702472702  POINT (-64.18714 -31.42569)
## 3268324144  POINT (-64.17805 -31.42394)
## 3984348301  POINT (-64.21507 -31.38715)
## 4247631545  POINT (-64.18759 -31.41341)
## 10017098065 POINT (-64.29036 -31.33399)
## 68276784    POINT (-64.20479 -31.41249)

descarga transporte

# ==========================================
# Transporte público - Córdoba Capital
# ==========================================


# Definir área de búsqueda
ubicacion <- "Cordoba, Argentina"
bbox <- getbb(ubicacion)

# --- Paradas de colectivo ---
paradas <- opq(bbox = bbox) %>%
  add_osm_feature(key = "highway", value = "bus_stop") %>%
  osmdata_sf()

# --- Estaciones de transporte (bus / tren / trolebús) ---
estaciones <- opq(bbox = bbox) %>%
  add_osm_feature(key = "public_transport", 
                  value = c("station", "stop_position", "stop_area")) %>%
  osmdata_sf()

# --- Terminales o estaciones principales ---
terminales <- opq(bbox = bbox) %>%
  add_osm_feature(key = "amenity", 
                  value = c("bus_station", "ferry_terminal")) %>%
  osmdata_sf()

# --- Combinar puntos y polígonos ---
paradas_sf <- bind_rows(
  paradas$osm_points %>% select(any_of(c("osm_id","name","highway","geometry"))),
  paradas$osm_polygons %>% select(any_of(c("osm_id","name","highway","geometry")))
)

estaciones_sf <- bind_rows(
  estaciones$osm_points %>% select(any_of(c("osm_id","name","public_transport","geometry"))),
  estaciones$osm_polygons %>% select(any_of(c("osm_id","name","public_transport","geometry")))
)

terminales_sf <- bind_rows(
  terminales$osm_points %>% select(any_of(c("osm_id","name","amenity","geometry"))),
  terminales$osm_polygons %>% select(any_of(c("osm_id","name","amenity","geometry")))
)

# --- Unir todas las capas ---
transporte_sf <- bind_rows(
  paradas_sf %>% rename(tipo = highway),
  estaciones_sf %>% rename(tipo = public_transport),
  terminales_sf %>% rename(tipo = amenity)
)

# --- Quitar duplicados ---
transporte_sf <- transporte_sf %>% distinct(osm_id, .keep_all = TRUE)

# --- Convertir polígonos a centroides (si es necesario) ---
transporte_sf <- transporte_sf %>%
  mutate(geometry = st_centroid(geometry))

 #--- Exportar a CSV ---
transporte_csv <- cbind(
  st_drop_geometry(transporte_sf),
  st_coordinates(transporte_sf)
)
write.csv(transporte_csv, "transporte.csv", row.names = FALSE)

# --- Guardar shapefile ---
#st_write(transporte_sf, "transporte.shp", delete_layer = TRUE)
transporte_sf %>% filter(!is.na(name))
## Simple feature collection with 4859 features and 3 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: -64.31003 ymin: -31.49934 xmax: -64.05752 ymax: -31.30843
## Geodetic CRS:  WGS 84
## First 10 features:
##              osm_id                               name     tipo
## 282811161 282811161                              C4027 bus_stop
## 343342100 343342100                  Fuerza Aerea 1300 bus_stop
## 348038387 348038387                         Cacheuta 0 bus_stop
## 353113940 353113940                     Colombres 1007 bus_stop
## 429994264 429994264                 Ricardo Rojas 7700 bus_stop
## 434017771 434017771 General Justo José de Urquiza 1707 bus_stop
## 449391111 449391111                 Maestro Lopez 9999 bus_stop
## 608561243 608561243              Aviador Kinsgley 1355 bus_stop
## 932080626 932080626              Hipolito Irigoyen 660 bus_stop
## 968287501 968287501               Parada Transporte 37 bus_stop
##                              geometry
## 282811161 POINT (-64.19234 -31.43771)
## 343342100 POINT (-64.21118 -31.42906)
## 348038387 POINT (-64.21444 -31.45608)
## 353113940  POINT (-64.1957 -31.39399)
## 429994264 POINT (-64.26623 -31.33494)
## 434017771 POINT (-64.18707 -31.39531)
## 449391111 POINT (-64.19282 -31.44021)
## 608561243 POINT (-64.24702 -31.42144)
## 932080626  POINT (-64.18401 -31.4298)
## 968287501 POINT (-64.18538 -31.42092)
library(leaflet)

leaflet(transporte_sf) %>%
  addProviderTiles(providers$CartoDB.Positron) %>%
  
  # Marcadores de colores según tipo
  addCircleMarkers(
    color = ~ifelse(tipo %in% c("bus_stop", "bus_station"), "red",
             ifelse(tipo == "station", "blue", "orange")),
    radius = 5,
    stroke = FALSE,
    fillOpacity = 0.8,
    label = ~ifelse(is.na(name), tipo, name),
    popup = ~paste0("<b>", ifelse(is.na(name), "(Sin nombre)", name), "</b><br>Tipo: ", tipo)
  ) %>%
  
  # Añadir leyenda
  addLegend(
    position = "bottomright",
    colors = c("red", "blue", "orange"),
    labels = c("Paradas / Terminales de colectivo", "Estaciones grandes", "Otros tipos"),
    title = "Infraestructura de transporte",
    opacity = 1
  )

decarga callejero

# ==========================================
# Vías principales / Avenidas / Autopistas
# ==========================================



# Definir área de búsqueda
ubicacion <- "Cordoba, Argentina"
bbox <- getbb(ubicacion)

# Descargar red vial principal
vias <- opq(bbox = bbox) %>%
  add_osm_feature(key = "highway",
                  value = c("motorway", "trunk", "primary", "secondary")) %>%
  osmdata_sf()

# Combinar líneas y polígonos (aunque la mayoría son líneas)
vias_sf <- bind_rows(
  vias$osm_lines %>% select(any_of(c("osm_id","name","highway","geometry"))),
  vias$osm_polygons %>% select(any_of(c("osm_id","name","highway","geometry")))
)

# Quitar duplicados
vias_sf <- vias_sf %>% distinct(osm_id, .keep_all = TRUE)

# Exportar a CSV (si querés guardar coordenadas)
vias_csv <- cbind(
  st_drop_geometry(vias_sf),
  st_coordinates(st_centroid(vias_sf))
)
## Warning: st_centroid assumes attributes are constant over geometries
write.csv(vias_csv, "vias_principales.csv", row.names = FALSE)



# --- Mapa rápido ---
leaflet(vias_sf) %>%
  addProviderTiles(providers$CartoDB.Positron) %>%
  addPolylines(
    color = ~case_when(
      highway == "motorway" ~ "red",
      highway == "trunk" ~ "orange",
      highway == "primary" ~ "blue",
      highway == "secondary" ~ "green",
      TRUE ~ "gray"
    ),
    weight = 3,
    label = ~paste0(name, " (", highway, ")")
  ) %>%
  addLegend(
    position = "bottomright",
    colors = c("red", "orange", "blue", "green"),
    labels = c("Autopistas", "Troncales", "Avenidas principales", "Avenidas secundarias"),
    title = "Red vial principal"
  )
# ======================================================
# Descarga y carga límites departamentales de Córdoba
# ======================================================


# --- URL del GeoJSON de límites departamentales de Córdoba ---
url_geojson <- "https://raw.githubusercontent.com/mgaitan/departamentos_argentina/master/departamentos-cordoba.json"

dest_file <- "departamentos_cba.geojson"

if (!file.exists(dest_file)) {
  download.file(url_geojson, destfile = dest_file, mode = "wb")
  message("GeoJSON descargado correctamente: ", dest_file)
} else {
  message("️ GeoJSON ya existe localmente.")
}
## ️ GeoJSON ya existe localmente.
# --- Leer el archivo GeoJSON ---
departamentos <- st_read(dest_file)
## Reading layer `departamentos_cba' from data source 
##   `C:\Users\hp\Desktop\proyect\departamentos_cba.geojson' using driver `GeoJSON'
## Simple feature collection with 26 features and 4 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: -65.77198 ymin: -35.00013 xmax: -61.77089 ymax: -29.50042
## Geodetic CRS:  WGS 84
# --- Mostrar algunos datos para comprobar ---
print(head(departamentos))
## Simple feature collection with 6 features and 4 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: -65.04215 ymin: -34.54652 xmax: -62.34636 ymax: -29.50042
## Geodetic CRS:  WGS 84
##    id                departamento                 cabecera provincia
## 1 393 PRESIDENTE ROQUE SAENZ PEÑA                LABOULAYE   CORDOBA
## 2 341              TERCERO ARRIBA                    OLIVA   CORDOBA
## 3 342               JUAREZ CELMAN               LA CARLOTA   CORDOBA
## 4 322                  SOBREMONTE SAN FRANCISCO DEL CHA¥AR   CORDOBA
## 5 323                     TULUMBA            VILLA TULUMBA   CORDOBA
## 6 324                    ISCHILIN               DEAN FUNES   CORDOBA
##                         geometry
## 1 POLYGON ((-62.8198 -33.8965...
## 2 POLYGON ((-63.11768 -32.001...
## 3 POLYGON ((-63.55538 -32.830...
## 4 POLYGON ((-63.72514 -29.655...
## 5 POLYGON ((-63.93749 -30.088...
## 6 POLYGON ((-64.26161 -30.470...
print(colnames(departamentos))
## [1] "id"           "departamento" "cabecera"     "provincia"    "geometry"
# Ahora ya tenés los límites de los departamentos de Córdoba y podés unirlos con tus datos de población/densidad.

CARGA Y LIMPIEZA DE DATOS ESTADÍSTICOS (CENSO 2022)

# ============================================================
# CARGA Y LIMPIEZA DE DATOS ESTADÍSTICOS (CENSO 2022)
# ============================================================

# Leer CSV desde GitHub con codificación correcta
personas <- read_csv(
  "https://raw.githubusercontent.com/luisoced/carpetas/refs/heads/main/Indicadores%20de%20personas.%20Radios%2C%202022%20-%20C%C3%B3rdoba.csv",
  locale = locale(encoding = "UTF-8")
)
## Rows: 6720 Columns: 70
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (2): Nombre de provincia, Nombre de departamentos/comuna
## dbl (67): Código de radio., Población total (en hogares familiares)., Poblac...
## lgl  (1): Nombre de radio
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Normalizar nombres de columnas: sin tildes, sin espacios ni signos raros
names(personas) <- iconv(names(personas), from = "UTF-8", to = "ASCII//TRANSLIT")
names(personas) <- str_replace_all(names(personas), "[^A-Za-z0-9_]", "_")

# Convertir código de radio a texto normalizado
personas <- personas %>%
  mutate(Codigo_de_radio_ = as.numeric(Codigo_de_radio_)) %>%
  filter(!is.na(Codigo_de_radio_))

# ============================================================
# 1 SELECCIÓN DE VARIABLES Y CREACIÓN DE CLAVE CENSAL
# ============================================================

df_atributos_limpio <- personas %>%
  rename(COD_RAD_CENSAL_RAW = Codigo_de_radio_) %>%
  select(
    COD_RAD_CENSAL_RAW,
    POB_TOTAL = Poblacion_total__en_hogares_familiares__,
    POB_JVEN  = Poblacion_de_18_a_29_anos_,
    POB_TOTAL_GENERAL = Poblacion_total
  ) %>%
  mutate(
    COD_RAD_CENSAL = str_pad(as.character(COD_RAD_CENSAL_RAW), 9, pad = "0"),
    COD_PROV = str_sub(COD_RAD_CENSAL, 1, 2),
    COD_DPTO = str_sub(COD_RAD_CENSAL, 3, 5)
  ) %>%
  filter(COD_PROV == "14" & COD_DPTO == "014")  # Córdoba Capital

# ============================================================
# 2 VERIFICAR RESULTADOS
# ============================================================

cat("Número de radios censales en Córdoba Capital:", nrow(df_atributos_limpio), "\n")
## Número de radios censales en Córdoba Capital: 2069
cat("Suma total de población (hogares familiares):", sum(df_atributos_limpio$POB_TOTAL, na.rm = TRUE), "\n")
## Suma total de población (hogares familiares): 1498060

CARGA DE SHAPEFILE DE RADIOS CENSALES

# ============================================================
# CARGA DE SHAPEFILE DE RADIOS CENSALES
# ============================================================


sf_cordoba_radios <- st_read("radios_2022/radios2022_v1.0.shp")
## Reading layer `radios2022_v1.0' from data source 
##   `C:\Users\hp\Desktop\proyect\radios_2022\radios2022_v1.0.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 66502 features and 9 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -73.5708 ymin: -55.05562 xmax: -53.63755 ymax: -21.78077
## Geodetic CRS:  WGS 84
# ============================================================
# 4 CREACIÓN DE CLAVE CENSAL Y FILTRO CÓRDOBA CAPITAL
# ============================================================

sf_cordoba_capital_geo <- sf_cordoba_radios %>%
  mutate(
    COD_PROV = str_pad(as.character(PROV), 2, pad = "0"),
    COD_DPTO = str_pad(as.character(DEPTO), 3, pad = "0"),
    FRACCION = str_pad(as.character(FRAC), 2, pad = "0"),
    RADIO = str_pad(as.character(RADIO), 2, pad = "0"),
    COD_RAD_CENSAL = paste0(COD_PROV, COD_DPTO, FRACCION, RADIO)
  ) %>%
  filter(COD_PROV == "14" & COD_DPTO == "014")

cat("Número de radios en shapefile de Córdoba Capital:", nrow(sf_cordoba_capital_geo), "\n")
## Número de radios en shapefile de Córdoba Capital: 2069
# ============================================================
# 5 UNIÓN CON DATOS CENSALES
# ============================================================

sf_final_mapa_listo <- sf_cordoba_capital_geo %>%
  left_join(df_atributos_limpio, by = "COD_RAD_CENSAL")

cat("Unión completada. Columnas finales:\n")
## Unión completada. Columnas finales:
print(names(sf_final_mapa_listo))
##  [1] "NOMPROV"            "PROV"               "NOMDEPTO"          
##  [4] "DEPTO"              "FRAC"               "RADIO"             
##  [7] "TIPO"               "LINK"               "OBS2020"           
## [10] "COD_PROV.x"         "COD_DPTO.x"         "FRACCION"          
## [13] "COD_RAD_CENSAL"     "COD_RAD_CENSAL_RAW" "POB_TOTAL"         
## [16] "POB_JVEN"           "POB_TOTAL_GENERAL"  "COD_PROV.y"        
## [19] "COD_DPTO.y"         "geometry"
# ============================================================
# 6 MAPA ESTÁTICO CON TMAP (población total)
# ============================================================



# Configurar modo de visualización
tmap_mode("plot")
## ℹ tmap mode set to "plot".
tm_shape(sf_final_mapa_listo) +
  tm_polygons(
    col = "POB_TOTAL",
    palette = "viridis",
    style = "quantile",
    n = 5,
    title = "Población total (hogares familiares)"
  ) +
  tm_layout(
    main.title = "Córdoba Capital - Distribución de la Población (Censo 2022)",
    legend.outside = TRUE,
    frame = FALSE
  )
## 
## ── tmap v3 code detected ───────────────────────────────────────────────────────
## [v3->v4] `tm_polygons()`: instead of `style = "quantile"`, use fill.scale =
## `tm_scale_intervals()`.
## ℹ Migrate the argument(s) 'style', 'n', 'palette' (rename to 'values') to
##   'tm_scale_intervals(<HERE>)'[v3->v4] `tm_polygons()`: use 'fill' for the fill color of polygons/symbols
## (instead of 'col'), and 'col' for the outlines (instead of 'border.col').[v3->v4] `tm_polygons()`: migrate the argument(s) related to the legend of the
## visual variable `fill` namely 'title' to 'fill.legend = tm_legend(<HERE>)'[v3->v4] `tm_layout()`: use `tm_title()` instead of `tm_layout(main.title = )`[plot mode] fit legend/component: Some legend items or map compoments do not
## fit well, and are therefore rescaled.
## ℹ Set the tmap option `component.autoscale = FALSE` to disable rescaling.

7 MAPA INTERACTIVO CON LEAFLET

# ============================================================
# 7 MAPA INTERACTIVO CON LEAFLET
# ============================================================


leaflet(sf_final_mapa_listo) %>%
  addProviderTiles(providers$CartoDB.Positron) %>%
  addPolygons(
    fillColor = ~colorNumeric("viridis", POB_TOTAL)(POB_TOTAL),
    color = "white",
    weight = 0.4,
    opacity = 0.8,
    fillOpacity = 0.7,
    popup = ~paste0(
      "<b>Radio: </b>", COD_RAD_CENSAL, "<br>",
      "<b>Poblacion total: </b>", round(POB_TOTAL), "<br>",
      "<b>Poblacion joven (18-29): </b>", round(POB_JVEN)
    )
  ) %>%
  addLegend(
    pal = colorNumeric("viridis", sf_final_mapa_listo$POB_TOTAL),
    values = ~POB_TOTAL,
    title = "Poblacion total",
    position = "bottomright"
  )